home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
081-090
/
amok82
/
plot
/
source
/
myuties.mod
< prev
next >
Wrap
Text File
|
1993-11-04
|
2KB
|
120 lines
IMPLEMENTATION MODULE MyUties;
FROM SYSTEM IMPORT FFP;
(*
Created: 13.02.1988 by
Stefan Salewski
Stolper Weg 3
2160 Stade West-Germany
Tel: 04141/61130
Note: compiled with AMIGA Modula-2 System by AMSoft from 5.5.88
This Module may be freely copied. But please
leave my name in. Thanks....Stefan
*)
PROCEDURE Buchstabe(c:CHAR):BOOLEAN;
BEGIN
RETURN ((c>='a') AND (c<='z')) OR ((c>='A') AND (c<='Z'))
END Buchstabe;
PROCEDURE IsADigit(c:CHAR):BOOLEAN;
BEGIN
RETURN (c>='0') AND (c<='9')
END IsADigit;
PROCEDURE AddOp(c:CHAR):BOOLEAN;
BEGIN
RETURN ((c='+') OR (c='-'))
END AddOp;
PROCEDURE MulOp(c:CHAR):BOOLEAN;
BEGIN
RETURN ((c='*') OR (c='/'))
END MulOp;
PROCEDURE Operator(c:CHAR):BOOLEAN;
BEGIN
RETURN (c='+') OR (c='-') OR (c='*') OR (c='/') OR (c='^')
END Operator;
PROCEDURE Max(i,j:INTEGER):INTEGER;
BEGIN
IF i>j THEN
RETURN i
ELSE
RETURN j
END;
END Max;
PROCEDURE Min(i,j:INTEGER):INTEGER;
BEGIN
IF i<j THEN
RETURN i
ELSE
RETURN j
END;
END Min;
PROCEDURE exp10(i:INTEGER):LONGREAL;
VAR x,a,b,c:LONGREAL;
j:INTEGER;
BEGIN
IF i<0 THEN
a:=1.0E-1;
b:=1.0E-10;
c:=1.0E-50;
ELSE
a:=1.0E1;
b:=1.0E10;
c:=1.0E50;
END;
x:=1.0;
i:=ABS(i);
j:=1;
WHILE j<=i DO
IF i-j>=49 THEN
x:=x*c;
INC(j,50);
ELSIF
i-j>=9 THEN
x:=x*b;
INC(j,10);
ELSE
x:=x*a;
INC(j)
END;
END;
RETURN x
END exp10;
PROCEDURE exp10FFP(i:INTEGER):FFP;
VAR x,a,b:FFP;
j:INTEGER;
BEGIN
IF i<0 THEN
a:=1.0E-1;
b:=1.0E-10;
ELSE
a:=1.0E1;
b:=1.0E10;
END;
x:=1.0;
i:=ABS(i);
j:=1;
WHILE j<=i DO
IF i-j>=9 THEN
x:=x*b;
INC(j,10);
ELSE
x:=x*a;
INC(j)
END;
END;
RETURN x
END exp10FFP;
PROCEDURE Ziffer(i:DeziNummer):DeziZiffer;
BEGIN
RETURN CHAR(i+CARDINAL('0'));
END Ziffer;
PROCEDURE Nummer(z:DeziZiffer):DeziNummer;
BEGIN
RETURN (CARDINAL(z)-CARDINAL('0'))
END Nummer;
END MyUties.mod